#ifndef APPEARANCE_H
#define APPEARANCE_H

#include <QWidget>
#include <QPainter>
#include <QTimer>
#include <QVBoxLayout>
#include <QtMath>
#include <QDebug>

class Appearance : public QWidget {
    Q_OBJECT
public:
    explicit Appearance(QWidget *parent = nullptr, QString str = "" , int scale = 0);
    ~Appearance();
    void updateNum(double val);

protected:
    void paintEvent(QPaintEvent *event) override;
    void drawScale(QPainter *painter);
    void drawPointer(QPainter *painter);
    void drawNumberAndPtr(QPainter *painter, int radius);


private:
    double number;// 数据
    QString ptr;// 表名
    QTimer *m_timer;

    // 添加未初始化的变量
    double m_IntSartAngle;  // 起始角度
    double m_IntEndAngle;    // 结束角度
    int m_IntScaleMajor;    // 大刻度数量
    int m_IntScaleMinor;    // 小刻度数量
    QColor m_ColorRingStart; // 起始颜色
    QColor m_ColorRingMid;   // 中间颜色
    QColor m_ColorRingEnd;   // 结束颜色
    double m_IntRingStartPercent; // 起始范围百分比
    double m_IntRingMidPercent;   // 中间范围百分比
    double m_IntRingEndPercent;   // 结束范围百分比
    double m_dMaxValue;          // 最大值
    double m_dMinValue;          // 最小值
    double m_dCurrentValue;      // 当前值
    QColor m_pointerColor;       // 指针颜色
};

#endif // APPEARANCE_H
